WYD ETERNAL 7.54 - Suporte multi-idioma do cliente (PT-BR nativo / EN adicional)
===============================================================================

COMO ESCOLHER O IDIOMA
  0) Programa  ..\Idioma.exe  (ao lado do launcher "WYD ETERNAL.exe"; icone do WYD):
        marque "Portugues (BR)" ou "English" e clique em "Salvar / Save"
        ou em "Salvar e jogar / Save and play" (salva e abre o launcher).
        Se a pasta Lang\EN nao existir, ele avisa e nao troca o idioma.
  1) Arquivo  ..\language.ini  (na raiz do cliente):
        [Language]
        selected=pt      -> Portugues (BR), padrao
        selected=en      -> English
  2) Dentro do jogo, no chat:  /lang en   ou   /lang pt   (tambem /idioma ...)
     O comando grava language.ini; o idioma passa a valer no proximo inicio do jogo.
  O arquivo nao existe ou tem valor invalido -> PT-BR.
  O idioma escolhido nao tem a pasta Lang\<CODIGO>\ -> aviso na tela e o jogo abre em PT-BR.

ONDE FICAM OS TEXTOS
  Lang\EN\                      espelha a arvore do cliente. Qualquer arquivo que exista aqui
                                e lido no lugar do original (somente leitura) quando o idioma e EN.
  Lang\EN\UI\UIString.txt       botoes/rotulos da interface: "<id><TAB><texto>" ('_' = espaco, max 63)
  Lang\EN\UI\strdef.txt         mensagens de sistema (UI\strdef.bin): "<id><TAB><texto>" (max 127)
  Lang\EN\itemhelp.dat          descricao dos itens, mesmo formato do itemhelp.dat (blocos por id)
  Lang\EN\Itemname.txt          nomes de itens: "<id><TAB><nome>" ('_' = espaco, max 61)
  Lang\EN\ClientPatch.txt       mensagens do ClientPatch.dll: "<texto PT><TAB><texto EN>"
  Lang\EN\UI\*.txt              ajuda, comandos, descricao das classes, quests, efeitos...
  Lang\EN\ClientTexts.txt       textos do proprio ClientPatch (linhas extras de tooltip de itens Eternal,
                                precos "[%d Honra]", janela DL/FD): mesmo formato do ServerMessages.txt.
                                Gerado por _i18n_dev\tools\gen_client_texts.py.
  Lang\EN\ServerMessages.txt    AVISOS DO SERVIDOR: "<frase PT exatamente como o servidor envia><TAB><frase EN>".
                                %d = numero, %s = texto (nome, item, guild...), %% = sinal de %.
                                Os valores capturados voltam na frase EN na mesma ordem (ou use {1},{2}...).
                                Gerado por _i18n_dev\tools\gen_server_msgs.py (1091 frases do TMSrv).
  Lang\_runtime\EN\             GERADO AUTOMATICAMENTE a cada inicio (nao editar): e o arquivo PT-BR
                                original com as entradas traduzidas aplicadas por cima.

FALLBACK
  - Id/bloco/nome sem traducao -> mantem o texto PT-BR (merge por registro em runtime).
  - Arquivo inteiro sem versao EN -> usa o arquivo PT-BR original.
  - Com selected=pt nada e instalado: o cliente roda exatamente como antes.

O QUE NAO E TRADUZIDO (limitacoes)
  - Avisos do servidor que NAO estao em ServerMessages.txt (ex.: avisos digitados na hora por GM,
    frases novas adicionadas ao TMSrv depois de 16/10/2026) e o chat/nomes de jogadores, guilds,
    canais e NPCs. As mensagens de sistema (0x101) nao traduzidas sao anotadas uma vez em
    Lang\server_untranslated_EN.log -> basta traduzi-las e acrescentar em ServerMessages.txt.
  - Launcher "WYD ETERNAL.exe" (le settings.txt antes do ClientPatch carregar). O seletor de idioma
    fica no programa separado Idioma.exe; o launcher original nao foi alterado.
  - Texturas com texto embutido (UI\*.wyt) - o mecanismo aceita Lang\EN\UI\*.wyt, mas as imagens
    traduzidas ainda nao foram produzidas.
  - Nomes de skills (Skilldata.bin cifrado; formato ainda nao decodificado).

DIAGNOSTICO
  Lang\lang_redirect.log  (criado apenas quando o idioma ativo nao e PT-BR)
  Lang\server_untranslated_EN.log  (avisos de sistema recebidos sem traducao; ate 1000 frases distintas)
